package unilearn.domain;

import java.sql.Timestamp;

/**
 * @author Ben Morall, 4158768
 * @author David Oliver, 4084551
 * @version 0.1, 27 April 2008, initial creation, blm
 * @version 0.2, 30 April 2008, Added assignmentID to Constructor, blm
 * @version 0.3, Apr 30, 2008, Added remaining get/set functions, dro
 * @version 0.4, May 6, 2008, Minor refactor of function names, dro
 * @version 0.5, 07 May 2008, Assign default values to instances
 * @version 0.6, May 11 2008, Refactoring, add setAcceptMarking() and getAcceptMarking() function
 */
public class Assignment
{

	private boolean acceptSubmissions = false;
	private boolean acceptMarking = false;
	private long assignID = -1;
	private String desc = null;
	private Timestamp dueDate = null;
	private long fileID = -1;
	private String name = null;
	private Timestamp releaseDate = null;
	private long subjectID = -1;
	private String lecturer;

	/**
	 * Blank constructor for creating an assignment to put into the database (it doesn't yet
	 * have an assignmentID.
	 */
	public Assignment()
	{
	}

	/**
	 * Creates a new instance of Assignment
	 */
	public Assignment(long assignmentID)
	{
		this.assignID = assignmentID;
	}

	public boolean getAcceptSubmissions()
	{
		return acceptSubmissions;
	}
	
	public boolean getAcceptMarking()
	{
		return acceptMarking;
	}
	public long getID()
	{
		return assignID;
	}

	public String getDesc()
	{
		return desc;
	}

	public Timestamp getDueDate()
	{
		return dueDate;
	}

	public long getFileID()
	{
		return fileID;
	}

	public String getName()
	{
		return name;
	}

	public Timestamp getReleaseDate()
	{
		return releaseDate;
	}

	public long getSubjectID()
	{
		return subjectID;
	}

	public void setName(String assignmentName)
	{
		this.name = assignmentName;
	}

	public void setDesc(String assignmentDesc)
	{
		this.desc = assignmentDesc;
	}

	public void setDueDate(Timestamp assignmentDueDate)
	{
		this.dueDate = assignmentDueDate;
	}

	public void setAcceptSubmissions(boolean assignmentAcceptingSubmissions)
	{
		this.acceptSubmissions = assignmentAcceptingSubmissions;
	}
	
	public void setAcceptMarking(boolean assignmentAcceptingMarking)
	{
		this.acceptMarking = assignmentAcceptingMarking;
	}

	public void setReleaseDate(Timestamp assignmentReleaseDate)
	{
		this.releaseDate = assignmentReleaseDate;
	}

	public void setSubjectID(long assignmentSubjectID)
	{
		this.subjectID = assignmentSubjectID;
	}

	public void setFileID(long assignmentFileID)
	{
		this.fileID = assignmentFileID;
	}

	public String getLecturer()
	{
		return lecturer;
	}

	public void setLecturer(String lecturer)
	{
		this.lecturer = lecturer;
	}
	
	
}
